package com.ossjk.oa.attendance.service;

import java.io.File;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ossjk.core.vo.PagePreNextVo;
import com.ossjk.oa.attendance.entity.Attendance;
import com.ossjk.oa.attendance.vo.SalaryAttVo;

/**
 * <p>
 * 考勤 服务类
 * </p>
 *
 * @author chair
 * @since 2019-02-03
 */
public interface IAttendanceService extends IService<Attendance> {

	Page selectVoPage(Page page, Wrapper wrapper);

	boolean batchImportExcel(File destFile) throws Exception;

	/**
	 * 判断是否迟到
	 * 
	 * @param inDate       上班时间
	 * @param outDate      下班时间
	 * @param checkInDate  签入时间
	 * @param checkOutDate 签出时间
	 * @return
	 */
	boolean hasOut(Date inDate, Date outDate, Date checkInDate, Date checkOutDate);

	/**
	 * 查回考勤信息和异常信息
	 * 
	 * @param wrapper
	 * @return
	 */
	List selectCalendar(Wrapper wrapper);

	List selectDetail(Wrapper wrapper);
	
	  PagePreNextVo selectPreNext(String midMth);
}
